package resp

import "github.com/gin-gonic/gin"

// Response 统一响应结构
type Response struct {
	Code int         `json:"code"` // 状态码，0表示成功，4表示业务错误，5表示系统错误
	Msg  string      `json:"msg"`  // 状态描述
	Data interface{} `json:"data"` // 响应数据
}

// Success 成功响应
func Success(c *gin.Context, data interface{}) {
	c.JSON(200, Response{
		Code: 0,
		Msg:  "success",
		Data: data,
	})
}

// BusinessError 业务错误响应
func BusinessError(c *gin.Context, msg string) {
	c.JSON(200, Response{
		Code: 4,
		Msg:  msg,
		Data: map[string]interface{}{},
	})
}

// SystemError 系统错误响应
func SystemError(c *gin.Context, msg string) {
	c.JSON(200, Response{
		Code: 5,
		Msg:  msg,
		Data: map[string]interface{}{},
	})
}
